package com.info.zhiduoduo.pay.sdk.kltongpaysdk.model.querypay;

import java.util.List;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)  //setter return this;
@ToString
public class BatchQueryResult {

	/**
	 * orderDateTime : 20180628161919
	 * totalSuccCount : 0
	 * totalFailAmount : 3154
	 * totalCount : 4
	 * totalSuccAmount : 0
	 * responseCode : 000000
	 * agentPayDatailInfos : [{"accountName":"汪二","purpose":null,"accountType":2,"amt":2088,"errorCode":"C001026","bankName":"工商银行",
	 * "remark":null,"mchtOrderNo":"326","errorMsg":"没有路由! ","accountNo":"6217211107001880222","bankNo":"102305627134","notifyUrl":null,
	 * "status":"3"},{"accountName":"汪一","purpose":null,"accountType":1,"amt":1066,"errorCode":"C001026","bankName":"农业银行","remark":null,
	 * "mchtOrderNo":"325","errorMsg":"没有路由! ","accountNo":"6228481200290317111","bankNo":"103393039054","notifyUrl":null,"status":"3"}]
	 * requestId : null
	 * mchtBatchNo : 201806281618060321
	 * totalStatus : 2
	 * mchtId : 903210212340001
	 * signType : 1
	 * totalFailCount : 2
	 * signMsg : 9D819106AB721B03A8AFBAC7B2D179BF
	 * responseMsg : 批量代付查询成功！
	 */


	/** 订单日期 */
	private String orderDateTime;
	/** 总条数 */
	private int totalCount;
	/** 总成功条数 */
	private int totalSuccCount;
	/** 总失败条数 */
	private int totalFailCount;
	/** 总成功金额 */
	private int totalSuccAmount;
	/** 总失败金额 */
	private int totalFailAmount;
	/** 单笔明细 */
	private List<AgentPayDatailInfo> agentPayDatailInfos;
	/** 请求流水 */
	private String requestId;
	/** 商户批次号 */
	private String mchtBatchNo;
	/** 批次状态 0：已提交，1：开联通审核不通过 2：拆分中 3：已拆分 4: 批次失败 5:处理中 6:已处理 7：已回盘 */
	private String batchStatus;
	private String mchtId;
	private String signType;
	private String signMsg;
	/** 000000：接口响应正常，其它表示失败（此接口为异步，支付结果等回调通知或者查询接口） */
	private String responseCode;
	/** 响应信息 */
	private String responseMsg;


	@Data
	@AllArgsConstructor
	@NoArgsConstructor
	@Accessors(chain = true)
	public static class AgentPayDatailInfo {

		/**
		 * accountName : 汪二
		 * purpose : null
		 * accountType : 2
		 * amt : 2088
		 * errorCode : C001026
		 * bankName : 工商银行
		 * remark : null
		 * mchtOrderNo : 326
		 * errorMsg : 没有路由!
		 * accountNo : 6217211107001880222
		 * bankNo : 102305627134
		 * notifyUrl : null
		 * status : 3
		 */


		/** 商户订单号 */
		private String mchtOrderNo;
		/** 收款方姓名 */
		private String accountName;
		/** 收款方账号 */
		private String accountNo;
		/** 收款方账户类型，固定值，可取值：
		 1代表个人账户
		 2代表企业账户 */
		private int accountType;
		/** 金额，正整数，单位为分。例如，票款为1280元，则表示为“128000” */
		private int amt;
		/** 收款方开户行名称（精确到支行，比如中国工商银行上海市浦东大道支行） */
		private String bankName;
		/** 收款方开户行行号（电子联行号） */
		private String bankNo;
		private String purpose;
		private String remark;
		/** 用于接收开联通的交易结果通知 */
		private String notifyUrl;
		private String errorCode;
		private String errorMsg;
		/** 订单状态(0：已创建，1：交易中 2：交易成功，3：交易失败，4：拒绝) (此字段用于判断业务执行状态) */
		private String status;

	}
}
